Relating Goal-Scheduling, Precedence, and Memory Management in AND-Parallel Execution of Logic Programs
نویسنده
چکیده
The interactions among three important issues involved in the implementation of logic programs in parallel (goal scheduling, precedence, and memory management) are discussed. A simplified, parallel memory management model and an efficient, load-balancing goal scheduling strategy are presented. It is shown how, for systems which support "don't know" non-determinism, special care has to be taken during goal scheduling if the space recovery characteristics of sequential systems are to be preserved. A solution based on selecting only "newer" goals for execution is described, and an algorithm is proposed for efficiently maintaining and determining precedence relationships and variable ages across parallel goals. It is argued that the proposed schemes and algorithms make it possible to extend the storage performance of sequential systems to parallel execution without the considerable overhead previously associated with it. The results are applicable to a wide class of parallel and coroutining systems, and they represent an efficient alternative to "all heap" or "spaghetti stack" allocation models.
منابع مشابه
Multi-Objective Unrelated Parallel Machines Scheduling with Sequence-Dependent Setup Times and Precedence Constraints
This paper presents a novel, multi-objective model of a parallel machines scheduling problem that minimizes the number of tardy jobs and total completion time of all jobs. In this model, machines are considered as unrelated parallel units with different speeds. In addition, there is some precedence, relating the jobs with non-identical due dates and their ready times. Sequence-dependent setup t...
متن کاملA Proposal for a Flexible Scheduling and Memory Management Scheme for Non-Deterministic, And- parallel Execution of Logic Programs
In this paper, we examine the issue of memory management in the parallel execution of logic programs. We concentrate on non-deterministic and-parallel schemes which we believe present a relatively general set of problems to be solved, including most of those encountered in the memory management of or-parallel systems. We present a distributed stack memory management model which allows flexible ...
متن کاملPaged Binding Array: Environment Representation for And-Or Parallel Prolog
We show that to exploit both Independent And-and Or-parallelism from Prolog programs independent goals should be recomputed (vs their solutions reused). We present an abstract model, called the Composition-Tree, for representing and-or parallelism in Prolog Programs. The Composition-tree closely mirrors sequential Prolog execution (by recomputing independent goal rather than re-using them). We ...
متن کاملMakespan Minimization of task graphs with random task running times
The problem of scheduling a set of tasks on two parallel and identical processors is considered. The executions of tasks are constrained by precedence relations. The running times of the tasks are independent random variables with a common exponential distribution. The goal of scheduling is to minimize the makespan, i.e. the maximum task completion time. A simple optimal preemptive policy is pr...
متن کاملA Tabu Search Approach to Task Scheduling on Heterogeneous Processors under Precedence Constraints
Parallel programs may be represented as a set of interrelated sequential tasks. When multiproces-sors are used to execute such programs, the parallel portion of the application can be speeded up by an appropriate allocation of processors to the tasks of the application. Given a parallel application deened by a task precedence graph, the goal of task scheduling (or processor assignment) is thus ...
متن کامل